﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace BAL.EstRec.FDVTotalRecurso
{
    public class FDVTotalRecursoRule
    {
        private int _maxCantRecursoPorTerritorio;

        public int MaxCantRecursoPorTerritorio
        {
            get { return _maxCantRecursoPorTerritorio; }
            set { _maxCantRecursoPorTerritorio = value; }
        }

        public FDVTotalRecursoRule()
        {

        }//

        public FDVTotalRecursoRule(int maxCantidadRecurso)
        {
            this._maxCantRecursoPorTerritorio = maxCantidadRecurso;
        }//

        public static FDVTotalRecursoRule getRule(string recurso)
        {
            DataTable dt = new DataTable();
            string territorio = AUTH.Auth.GetTerritorio();
            try
            {
                string query = "SP_ER_GET_MAXCANTRECURSOxTERRITORIO @TERRITORIO=" + territorio + ", @RECURSO=" + recurso;

                dt = DAL.EstRec.SrvDB.ExecuteQuery(query);

                if (dt.Rows.Count > 0)
                {
                    int max = 0;
                    if (int.TryParse(dt.Rows[0]["MAX_CANTIDAD"].ToString(), out max))
                    {
                        return new FDVTotalRecursoRule(max);
                    }
                    else return new FDVTotalRecursoRule();
                }
                else return new FDVTotalRecursoRule();
            }
            catch (Exception ex)
            {
                Console.WriteLine("No se pudo obtener cantidad máxima del recurso {0} + para el territorio {1}. {2}", recurso, territorio, ex.Message);
                return new FDVTotalRecursoRule();
            }

        }

    }//end class
}
